#ifndef __MMESSAGE_HPP__
#define __MMESSAGE_HPP__

typedef enum MessageCommand
{
	MSG_CMD_DIE,
	MSG_CMD_ATTACK,
	MSG_CMD_GET_DAMAGE,
	MSG_CMD_GET_HEALTH_BONUS,
	MSG_CMD_HANDLE_COLL,
	MSG_CMD_KEYPRESS,
	MSG_CMD_MOUSE,
	MSG_CMD_ERROR

} MSG_COMMAND;

class MMessage
{
public:
	MMessage(MSG_COMMAND msgCmd/*, int iReceiver*/, int iMsgDelay = 0, void* pInfo = 0);
	~MMessage();

	const MSG_COMMAND& getCommand() const;
	const int&         getDelay() const;
	const int&         getAddressee() const;
	void*              getAddInfo() { return m_pAdditionalInfo; }

	void modifyDelay(int changeValue);

private:
	MSG_COMMAND m_command;
	int         m_iDelay;
	int         m_iAddressee;
	void*       m_pAdditionalInfo;
};

#endif //__MMESSAGE_HPP__

//EOF
